package com.yt.ds.chapter4;

/**
 * @Author: lzf
 * @Date: 2020/7/31 16:43
 * @Description: 加权图
 */
public interface WeightedGraph<E> {
    /**
     * 获取顶点数
     */
    int getVertexNum();

    /**
     * 获取边数
     */
    int getEdgeNum();

    /**
     * 描述：添加一条边
     *
     * @param edge 加权边
     * @return "void"
     * @date: 2020/7/27 16:50
     */
    void addEdge(E edge);

    /**
     * 描述：获取v相邻的边
     *
     * @param v 目标顶点
     * @return "java.lang.Iterable<java.lang.Integer>"
     * @date: 2020/7/27 16:50
     */
    Iterable<E> adj(int v);

    /**
     * 描述：获取所有边
     * @return "java.lang.Iterable<com.yt.ds.chapter4.Edge>"
     * @date: 2020/7/31 16:46
     */
    Iterable<E> edges();
}
